/*
 * 上海远境文化传媒有限公司 版权所有
 */
package helper;

import cache.CacheHelper;
import ext.jpa.uuid.UUIDUtil;
import play.Logger;

/**
 * 下载请求Redirect Helper.
 * <p>
 * 用缓存，返回一个随机UUID作为seed，并通过这个接口，保存所有使用的参数.
 * 真正下载的接口，通过seed读取所有参数并进行下载.
 */
public class DownloadSeedHelper {

    private final static String PREFIX = "DlR_";

    private final static String EXPIRE_TIME = "3600s"; //临时1小时，应设置为1分钟

    /**
     * 得到Seed.
     */
    public static String getSeed() {
        String seed = UUIDUtil.getUUID32();
        CacheHelper.setCache(PREFIX + seed, "true", EXPIRE_TIME); // 只能在60s内下载的检查.
        Logger.info("LOG05043: 保存下载 seed = " + seed);
        return seed;
    }

    /**
     * 检查是否可以下载.
     */
    public static boolean existSeed(String seed) {
        return CacheHelper.exists(PREFIX + seed);
    }

    public static void storeSeedParam(String seed, String key, String value) {
        CacheHelper.setCache(PREFIX + seed + "@" + key, value, EXPIRE_TIME);
    }

    public static String getSeedParam(String seed, String key) {
        return CacheHelper.getCache(PREFIX + seed + "@" + key);
    }
}
